########### distncia das cidades europias
distancias = c(NA,3949,3000,3927,3949,NA,1273,3188,3000,1273,NA,1827,3927,3188,1827,NA)
mat.dist <- matrix(distancias, 4, 4) 
dimnames(mat.dist) <- list(linhas=c("Atenas", "Madri", "Paris", "Estocolmo"), colunas=c("Atenas", "Madri", "Paris", "Estocolmo"))
mat.dist[upper.tri(matdist, diag=TRUE)]=NA

############ Criao de um Data Frame
read.vsc
Variao.de.peso <- c(0.1 , 1.1 , 3.7,5.7, -1.2, -1.5,3.0, -0.4, 0.6 ,1.5, -0.1, 2.0,0.6, -3.0, -0.3,-0.2, 0.3, 1.5)
Dieta <- rep((paste("dieta", 1:3)), each = 3, times = 2)
Fentipo <- c((rep ("claro", each = 9)), (rep("escuro", each = 9))
hamsters <- data.frame(Fentipo,Dieta, Variao.de.peso)
rownames (hamsters) <- paste("hamster", 1:18)
hamsters

#### Mdia das variaes de peso por fentipo e por dieta
tapply(X=Variao.de.peso, INDEX=Fentipo, FUN=mean)
###   claro    escuro 
##1.2333333 0.2555556 
tapply(X=Variao.de.peso, INDEX=Dieta, FUN=mean)
########## exerccio "Criando uma matriz"

matri = matrix(rnorm(15, mean = 10, sd=1.897367), ncol=5, nrow=3)

## Chamar linhas e colunas de "L1 - L3" e "C1 - C5".

colnames (matri) <-paste("C",1:5)
rownames (matri) <-paste("L", 1:3)
matri
  

## mdia e varincia por coluna e por linha
Variancia.colunas = apply(matri, 2, var)
Variancia.colunas
Mdia.colunas = apply(matri, 2, mean)
Mdia.colunas 
Mdia.linhas = apply(matri, 1, mean)
Mdia.linhas
Variancia.linhas = apply(matri, 1, var)
Variancia.linhas
  
## Para guardar esses valores em um "data.frame", concatenei as mdias e varincias em vetores de mesmo comprimento e ento criei o "data.frame"
vari <-c(Variancia.colunas, Variancia.linhas)
medi <-c(Mdia.colunas, Mdia.linhas)
varincias.mdias <-data.frame(medi,vari)
         
############### Lendo e salvando os dados
#### Abrindo dados e fazendo um sumario das variveis
cnidarios = read.table(file="cnidarios.txt", header=T, sep=";")
str(cnidarios)
summary(cnidarios)
#### Selecionando um estado de atributo de um vetor fator 
costeiras <- cnidarios[which(cnidarios$estacao=="1"),]
costa.1 <- costeiras[c("Liriope.tetraphylla", "Muggiaea.kochi","Aglaura.hemistoma") 
costa.1
write.table(x=costa.1, file="abundantes.txt", sep="\t", row.names=FALSE)

############### Classes de objetos

class(iris) ## "data.frame"
class(iris3) ## "array"

### Mdia das quatro medidas de Iris
mdia.spala.c = tapply(iris$Sepal.Length, iris$Species, mean) 
mdia.spala.l = tapply(iris$Sepal.Width, iris$Species, mean) 
mdia.Petal.c = tapply(iris$Petal.Length, iris$Species, mean) 
mdia.Petal.l = tapply(iris$Petal.Width, iris$Species, mean) 

### Mdia das quatro medidas de iris3
media.iris3 = apply(X=iris3, MARGIN=c(2,3), FUN=mean)
names(iris) = c("comp.spala", "larg.spala", "comp.ptala", "larg.ptala", "espcie") 
iris

############### Acrescentando Dados de Sntese
### Criando objeto com os dados de biomassa de eucalipto:
Eucalipto = read.table("eucalipto", header=T, sep=",", as.is=T)
### Contedo com a funo "summary"
summary(Eucalipto)
### Adcionar nova coluna como resultado de soma de folhas + tronco:
Eucalipto$Tronco.folhas <- Eucalipto$tronco + Eucalipto$folha
### Outra coluna com a rea basal de cada rvore
Eucalipto$area.basal <- ((Eucalipto$dap/2)*pi)^2
### rea basal total por talho
ar.bas.tot.talhao. <- tapply(X=Eucalipto$area.basal, INDEX=Eucalipto$talhao, FUN=sum)
### rea basal mdia por talho
ar.bas.talhao <- tapply(X=Eucalipto$area.basal, INDEX=Eucalipto$talhao, FUN=mean)
### Separando rvores maiores que 10cm de DAP
Eucalipto$arv.grd = Eucalipto$dap>10
Eucalipto.grd = Eucalipto[Eucalipto$arv.grd,]
### Criando arquivo de texto
write.table(Eucalipto.grd,file="Eucalipto.grd.txt",sep="\t", row.names=FALSE)
